cdosys cdonts question
am 06.12.2006 17:28:46 von spaminfo
I guess I should change from cdonts to cdosys. Since I am ignorant about asp I
hope you forgive this basic question. There are two asp files for handling
mail, the one that gets the info from a form and creates a form.asp to mail and
the one that takes that file and mails it, mail.asp.
I believe I can figure out what needs to be altered in the code for the first
form.asp but what needs to be changed in the one that sends the email? Is it
just this in the following code and if so just what should it read?
Thanks
Harvey
This is the 'mail.asp' file I use currently with cdonts.
Set objCDO = Server.CreateObject("CDONTS.NewMail")
'change this to the appropriate http
Const strHTTP = "http://www.righttax.org/"
'get current date
strDate = Date()
'get form information
strFormName = Request("FormName")
strSubject = Request("subject")
strSendTo = Request("SendTo")
strName = Request("txtName")
strPhone = Request("txtPhone")
'if no information entered for email use your own
if instr(Request("txtEmail"), "@") <> 0 then
strFrom = Request("txtEmail")
else
strFrom = strSendTo
end if
'concat URL information
strURLInfo = strHTTP & strFormName & "?" & Request.Form()
'create the HTML for email
strHTML = "
"
strHTML = strHTML & ""
strHTML = strHTML & ""
strHTML = strHTML & ""
'use some graphics for email
strHTML = strHTML & "
BORDER=0> | "
strHTML = strHTML & "
"
'include basic info in email
strHTML = strHTML & ""
strHTML = strHTML & ""
strHTML = strHTML & " Date: " & strDate
strHTML = strHTML & " Subject: " & strSubject
strHTML = strHTML & " Requested by: " & strName
strHTML = strHTML & " Phone: " & strPhone
if strFrom <> strSendTo then
strHTML = strHTML & " Email: " &
strFrom & ""
else
strHTML = strHTML & " Email: UNKNOWN"
end if
'add hyperlink to form in email
strHTML = strHTML & "
"
strHTML = strHTML & "Click here"
strHTML = strHTML & " to view completed form."
strHTML = strHTML & " | "
strHTML = strHTML & "
"
strHTML = strHTML & ""
strHTML = strHTML & " | "
strHTML = strHTML & "
"
strHTML = strHTML & "
"
strHTML = strHTML & ""
strHTML = strHTML & ""
'time to send the email
Dim objCDO
Set objCDO = Server.CreateObject("CDONTS.NewMail")
objCDO.To = strSendTo
objCDO.From = strFrom
objCDO.Subject = strName & " - " & strSubject
objCDO.BodyFormat = 0
objCDO.MailFormat = 0
objCDO.Body = strHTML
objCDO.Send
set objCDO = nothing
'redirect to the "Thanks" page
'Response.Redirect strHTTP & "index.html"
--
RIGHT
Remove spam to email
http://righttax.org
Re: cdosys cdonts question
am 06.12.2006 21:30:02 von Mike Brind
See comments inline
"Dr. Harvey Waxman" wrote in message
news:spaminfo-3F804D.11284606122006@news.lga.highwinds-media .com...
>I guess I should change from cdonts to cdosys. Since I am ignorant about
>asp I
> hope you forgive this basic question. There are two asp files for
> handling
> mail, the one that gets the info from a form and creates a form.asp to
> mail and
> the one that takes that file and mails it, mail.asp.
>
> I believe I can figure out what needs to be altered in the code for the
> first
> form.asp but what needs to be changed in the one that sends the email? Is
> it
> just this in the following code and if so just what should it read?
>
> Thanks
>
> Harvey
>
> This is the 'mail.asp' file I use currently with cdonts.
>
> Set objCDO = Server.CreateObject("CDONTS.NewMail")
Get rid of the above line - it's repeated later and at a more appropriate
point - ie just before you use the object you are creating.
>
> 'change this to the appropriate http
> Const strHTTP = "http://www.righttax.org/"
>
> 'get current date
> strDate = Date()
>
> 'get form information
> strFormName = Request("FormName")
> strSubject = Request("subject")
> strSendTo = Request("SendTo")
>
> strName = Request("txtName")
> strPhone = Request("txtPhone")
>
> 'if no information entered for email use your own
> if instr(Request("txtEmail"), "@") <> 0 then
> strFrom = Request("txtEmail")
> else
> strFrom = strSendTo
> end if
>
Change all these Request("something") to Request.Form("something") or
Request.Querystring("something") - whichever collection you are using (not
germane to using CDO, but you should do this)
> 'concat URL information
> strURLInfo = strHTTP & strFormName & "?" & Request.Form()
>
> 'create the HTML for email
> strHTML = " "
> strHTML = strHTML & ""
> strHTML = strHTML & ""
> strHTML = strHTML & ""
>
> 'use some graphics for email
> strHTML = strHTML & "
> BORDER=0> | "
> strHTML = strHTML & "
"
>
> 'include basic info in email
> strHTML = strHTML & ""
> strHTML = strHTML & ""
> strHTML = strHTML & " Date: " & strDate
> strHTML = strHTML & " Subject: " & strSubject
> strHTML = strHTML & " Requested by: " & strName
> strHTML = strHTML & " Phone: " & strPhone
>
> if strFrom <> strSendTo then
> strHTML = strHTML & " Email: " &
> strFrom & ""
> else
> strHTML = strHTML & " Email: UNKNOWN"
> end if
>
> 'add hyperlink to form in email
> strHTML = strHTML & "
"
> strHTML = strHTML & "Click here"
> strHTML = strHTML & " to view completed form."
> strHTML = strHTML & " | "
> strHTML = strHTML & "
"
> strHTML = strHTML & ""
> strHTML = strHTML & " | "
> strHTML = strHTML & "
"
> strHTML = strHTML & "
"
> strHTML = strHTML & ""
> strHTML = strHTML & ""
String concatenation is awful. Taking the first 4 lines as an example, use
the underscore character for continuation:
strHTML = " " & _
"" & _
"" & _
""
Again, not germane to using CDO, but the way it's currently being done is
very inefficient
>
> 'time to send the email
> Dim objCDO
> Set objCDO = Server.CreateObject("CDONTS.NewMail")
Change the above to Set objCDO = Server.CreateObject("CDO.Message")
>
> objCDO.To = strSendTo
> objCDO.From = strFrom
> objCDO.Subject = strName & " - " & strSubject
> objCDO.BodyFormat = 0
> objCDO.MailFormat = 0
Get rid of the above 2 lines
> objCDO.Body = strHTML
Change the above line to objCDO.HTMLBody = strHTML
> objCDO.Send
>
> set objCDO = nothing
>
> 'redirect to the "Thanks" page
> 'Response.Redirect strHTTP & "index.html"
>
>
That should do it.
--
Mike Brind
Re: cdosys cdonts question
am 07.12.2006 05:04:52 von Harvey Waxman
I'll try those changes. What happens if one has two such files, do they both
send out an email? Is it critical to have the .asp extent in the file name?
Thanks for the help.
Harvey
In article ,
"Mike Brind" wrote:
> See comments inline
>
>
> "Dr. Harvey Waxman" wrote in message
> news:spaminfo-3F804D.11284606122006@news.lga.highwinds-media .com...
> >I guess I should change from cdonts to cdosys. Since I am ignorant about
> >asp I
> > hope you forgive this basic question. There are two asp files for
> > handling
> > mail, the one that gets the info from a form and creates a form.asp to
> > mail and
> > the one that takes that file and mails it, mail.asp.
> >
> > I believe I can figure out what needs to be altered in the code for the
> > first
> > form.asp but what needs to be changed in the one that sends the email? Is
> > it
> > just this in the following code and if so just what should it read?
> >
> > Thanks
> >
> > Harvey
> >
> > This is the 'mail.asp' file I use currently with cdonts.
> >
> > Set objCDO = Server.CreateObject("CDONTS.NewMail")
>
> Get rid of the above line - it's repeated later and at a more appropriate
> point - ie just before you use the object you are creating.
>
> >
> > 'change this to the appropriate http
> > Const strHTTP = "http://www.righttax.org/"
> >
> > 'get current date
> > strDate = Date()
> >
> > 'get form information
> > strFormName = Request("FormName")
> > strSubject = Request("subject")
> > strSendTo = Request("SendTo")
> >
> > strName = Request("txtName")
> > strPhone = Request("txtPhone")
> >
> > 'if no information entered for email use your own
> > if instr(Request("txtEmail"), "@") <> 0 then
> > strFrom = Request("txtEmail")
> > else
> > strFrom = strSendTo
> > end if
> >
>
> Change all these Request("something") to Request.Form("something") or
> Request.Querystring("something") - whichever collection you are using (not
> germane to using CDO, but you should do this)
>
>
> > 'concat URL information
> > strURLInfo = strHTTP & strFormName & "?" & Request.Form()
> >
> > 'create the HTML for email
> > strHTML = " "
> > strHTML = strHTML & ""
> > strHTML = strHTML & ""
> > strHTML = strHTML & ""
> >
> > 'use some graphics for email
> > strHTML = strHTML & "
> > BORDER=0> | "
> > strHTML = strHTML & "
"
> >
> > 'include basic info in email
> > strHTML = strHTML & ""
> > strHTML = strHTML & ""
> > strHTML = strHTML & " Date: " & strDate
> > strHTML = strHTML & " Subject: " & strSubject
> > strHTML = strHTML & " Requested by: " & strName
> > strHTML = strHTML & " Phone: " & strPhone
> >
> > if strFrom <> strSendTo then
> > strHTML = strHTML & " Email: " &
> > strFrom & ""
> > else
> > strHTML = strHTML & " Email: UNKNOWN"
> > end if
> >
> > 'add hyperlink to form in email
> > strHTML = strHTML & "
"
> > strHTML = strHTML & "Click here"
> > strHTML = strHTML & " to view completed form."
> > strHTML = strHTML & " | "
> > strHTML = strHTML & "
"
> > strHTML = strHTML & ""
> > strHTML = strHTML & " | "
> > strHTML = strHTML & "
"
> > strHTML = strHTML & "
"
> > strHTML = strHTML & ""
> > strHTML = strHTML & ""
>
> String concatenation is awful. Taking the first 4 lines as an example, use
> the underscore character for continuation:
>
> strHTML = " " & _
> "" & _
> "" & _
> ""
>
> Again, not germane to using CDO, but the way it's currently being done is
> very inefficient
>
> >
> > 'time to send the email
> > Dim objCDO
> > Set objCDO = Server.CreateObject("CDONTS.NewMail")
>
> Change the above to Set objCDO = Server.CreateObject("CDO.Message")
>
> >
> > objCDO.To = strSendTo
> > objCDO.From = strFrom
> > objCDO.Subject = strName & " - " & strSubject
> > objCDO.BodyFormat = 0
> > objCDO.MailFormat = 0
>
> Get rid of the above 2 lines
>
> > objCDO.Body = strHTML
>
> Change the above line to objCDO.HTMLBody = strHTML
>
> > objCDO.Send
> >
> > set objCDO = nothing
> >
> > 'redirect to the "Thanks" page
> > 'Response.Redirect strHTTP & "index.html"
> >
> >
>
> That should do it.
>
> --
> Mike Brind
--
Harvey Waxman
remove spam to email
http://righttax.org/
Re: cdosys cdonts question
am 07.12.2006 09:00:45 von Mike Brind
The form that collects the information will have an action attribute. This
should point to the file that processes the data and generates and sends the
email. An asp file can only do it's thing if it is called in such a way, or
requested directly (eg if someone types http://www.domainname/filename.asp
in their browser address bar). It can also be called if there is an
instruction in another file that is called to response.redirect
"filename.asp", ,
server.execute("filename.asp") or server.transfer("filename.asp").
In your case, unless there is a reason to generate 2 emails, I can't see
what the purpose of the second file is. Maybe it's an old version, or a
duplicate for some reason, or maybe, since I seem to recall you suggesting
this was provided by your hosting company, it's there to generate emails
using a different configuration or component.
Finally, if you want the asp code to execute in the file, you need to leave
the .asp extension alone. That way, you are guaranteed that the web server
knows to send the file to the ASP engine for processing. It is possible to
configure the web server to process any and all files as if they are asp
files, but rarely done in practice. It is highly unlikely that you would
get a commercial web hosting company to agree to do this unless you have a
dedicated server or something.
--
Mike Brind
"Harvey Waxman" wrote in message
news:spamhwaxman-CED3C1.23045206122006@news.lga.highwinds-me dia.com...
> I'll try those changes. What happens if one has two such files, do they
> both
> send out an email? Is it critical to have the .asp extent in the file
> name?
>
> Thanks for the help.
>
> Harvey
>
> In article ,
> "Mike Brind" wrote:
>
>> See comments inline
>>
>>
>> "Dr. Harvey Waxman" wrote in message
>> news:spaminfo-3F804D.11284606122006@news.lga.highwinds-media .com...
>> >I guess I should change from cdonts to cdosys. Since I am ignorant
>> >about
>> >asp I
>> > hope you forgive this basic question. There are two asp files for
>> > handling
>> > mail, the one that gets the info from a form and creates a form.asp to
>> > mail and
>> > the one that takes that file and mails it, mail.asp.
>> >
>> > I believe I can figure out what needs to be altered in the code for the
>> > first
>> > form.asp but what needs to be changed in the one that sends the email?
>> > Is
>> > it
>> > just this in the following code and if so just what should it read?
>> >
>> > Thanks
>> >
>> > Harvey
>> >
>> > This is the 'mail.asp' file I use currently with cdonts.
>> >
>> > Set objCDO = Server.CreateObject("CDONTS.NewMail")
>>
>> Get rid of the above line - it's repeated later and at a more appropriate
>> point - ie just before you use the object you are creating.
>>
>> >
>> > 'change this to the appropriate http
>> > Const strHTTP = "http://www.righttax.org/"
>> >
>> > 'get current date
>> > strDate = Date()
>> >
>> > 'get form information
>> > strFormName = Request("FormName")
>> > strSubject = Request("subject")
>> > strSendTo = Request("SendTo")
>> >
>> > strName = Request("txtName")
>> > strPhone = Request("txtPhone")
>> >
>> > 'if no information entered for email use your own
>> > if instr(Request("txtEmail"), "@") <> 0 then
>> > strFrom = Request("txtEmail")
>> > else
>> > strFrom = strSendTo
>> > end if
>> >
>>
>> Change all these Request("something") to Request.Form("something") or
>> Request.Querystring("something") - whichever collection you are using
>> (not
>> germane to using CDO, but you should do this)
>>
>>
>> > 'concat URL information
>> > strURLInfo = strHTTP & strFormName & "?" & Request.Form()
>> >
>> > 'create the HTML for email
>> > strHTML = " "
>> > strHTML = strHTML & ""
>> > strHTML = strHTML & ""
>> > strHTML = strHTML & ""
>> >
>> > 'use some graphics for email
>> > strHTML = strHTML & "
>> > BORDER=0> | "
>> > strHTML = strHTML & "
"
>> >
>> > 'include basic info in email
>> > strHTML = strHTML & ""
>> > strHTML = strHTML & ""
>> > strHTML = strHTML & " Date: " & strDate
>> > strHTML = strHTML & " Subject: " & strSubject
>> > strHTML = strHTML & " Requested by: " & strName
>> > strHTML = strHTML & " Phone: " & strPhone
>> >
>> > if strFrom <> strSendTo then
>> > strHTML = strHTML & " Email: " &
>> > strFrom & ""
>> > else
>> > strHTML = strHTML & " Email: UNKNOWN"
>> > end if
>> >
>> > 'add hyperlink to form in email
>> > strHTML = strHTML & "
"
>> > strHTML = strHTML & "Click here"
>> > strHTML = strHTML & " to view completed form."
>> > strHTML = strHTML & " | "
>> > strHTML = strHTML & "
"
>> > strHTML = strHTML & ""
>> > strHTML = strHTML & " | "
>> > strHTML = strHTML & "
"
>> > strHTML = strHTML & "
"
>> > strHTML = strHTML & ""
>> > strHTML = strHTML & ""
>>
>> String concatenation is awful. Taking the first 4 lines as an example,
>> use
>> the underscore character for continuation:
>>
>> strHTML = " " & _
>> "" & _
>> "" & _
>> ""
>>
>> Again, not germane to using CDO, but the way it's currently being done is
>> very inefficient
>>
>> >
>> > 'time to send the email
>> > Dim objCDO
>> > Set objCDO = Server.CreateObject("CDONTS.NewMail")
>>
>> Change the above to Set objCDO = Server.CreateObject("CDO.Message")
>>
>> >
>> > objCDO.To = strSendTo
>> > objCDO.From = strFrom
>> > objCDO.Subject = strName & " - " & strSubject
>> > objCDO.BodyFormat = 0
>> > objCDO.MailFormat = 0
>>
>> Get rid of the above 2 lines
>>
>> > objCDO.Body = strHTML
>>
>> Change the above line to objCDO.HTMLBody = strHTML
>>
>> > objCDO.Send
>> >
>> > set objCDO = nothing
>> >
>> > 'redirect to the "Thanks" page
>> > 'Response.Redirect strHTTP & "index.html"
>> >
>> >
>>
>> That should do it.
>>
>> --
>> Mike Brind
>
>
>
> --
> Harvey Waxman
> remove spam to email
> http://righttax.org/
Re: cdosys cdonts question
am 07.12.2006 13:10:47 von Harvey Waxman
Thanks Mike.
I wasn't suggesting to have two asp files. I was trying to better understand
the relationship between the files and the significance of name extents.
You did a good job of explaining it.
In article ,
"Mike Brind" wrote:
> The form that collects the information will have an action attribute. This
> should point to the file that processes the data and generates and sends the
> email. An asp file can only do it's thing if it is called in such a way, or
> requested directly (eg if someone types http://www.domainname/filename.asp
> in their browser address bar). It can also be called if there is an
> instruction in another file that is called to response.redirect
> "filename.asp", ,
> server.execute("filename.asp") or server.transfer("filename.asp").
>
> In your case, unless there is a reason to generate 2 emails, I can't see
> what the purpose of the second file is. Maybe it's an old version, or a
> duplicate for some reason, or maybe, since I seem to recall you suggesting
> this was provided by your hosting company, it's there to generate emails
> using a different configuration or component.
>
> Finally, if you want the asp code to execute in the file, you need to leave
> the .asp extension alone. That way, you are guaranteed that the web server
> knows to send the file to the ASP engine for processing. It is possible to
> configure the web server to process any and all files as if they are asp
> files, but rarely done in practice. It is highly unlikely that you would
> get a commercial web hosting company to agree to do this unless you have a
> dedicated server or something.
--
Harvey Waxman
remove spam to email
http://righttax.org/